package com.util;

import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

import com.landmesure.communication.CommunicationPlatform;

public class WebViewUtil {
    public static void initWebView(final WebView webView){

        WebSettings settings = webView.getSettings();
        settings.setJavaScriptEnabled(true);// 让WebView能够执行javaScript
        settings.setDomStorageEnabled(true);
        settings.setJavaScriptCanOpenWindowsAutomatically(true);// 让JavaScript可以自动打开windows
        settings.setAppCacheEnabled(true);      // 设置缓存
        settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); // 设置缓存模式,一共有四种模式
        settings.setSupportZoom(true);// 支持缩放(适配到当前屏幕)
        settings.setBuiltInZoomControls(true);
        settings.setUseWideViewPort(true);      // 将图片调整到合适的大小
        settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); // 支持内容重新布局,一共有四种方式 默认的是NARROW_COLUMNS
        settings.setLoadWithOverviewMode(true);
        settings.setDisplayZoomControls(true);   // 设置可以被显示的屏幕控制
        settings.setDefaultFontSize(12);   // 设置默认字体大小
        webView.loadUrl(CommunicationPlatform.mobileUrl);

        //实现：WebView里的链接，都在自身打开，不调用系统浏览器
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }

        });

        //实现：按手机回退键，如果浏览器有上一个网页，则返回上一个网页
        webView.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if (event.getAction() == KeyEvent.ACTION_DOWN) {
                    if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack() ) {
                        webView.goBack();
                        return true;
                    }
                }
                return false;
            }
        });

    }

}
